package com.ourteam.product.requirement.dao;

import net.dao.IDataAccessInterface;


/**
 * Template Name : DAO接口模板
 * Template Version : 1
 * Template Last Modfiy Date : Thu Sep 21 11:14:14 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:09
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public interface IBaseProductVersionDAO extends IDataAccessInterface<ProductVersion, ProductVersionDAOQueryBean> {
    /**
        *  Mapped Entity Name
        */
    static final String EntityName = "PRODUCT_VERSION";

    /**
     * Mapped Field ID
    */
    static final String Id = "PRODUCT_VERSION.ID";

    /**
     * Mapped Field PRODUCT_DEFINE_ID
    */
    static final String ProductDefineId = "PRODUCT_VERSION.PRODUCT_DEFINE_ID";

    /**
     * Mapped Field PRODUCT_VERSION
    */
    static final String ProductVersion = "PRODUCT_VERSION.PRODUCT_VERSION";

    /**
     * Mapped Field REMARKS
    */
    static final String Remarks = "PRODUCT_VERSION.REMARKS";

    /**
     * Mapped Field STATUS
    */
    static final String Status = "PRODUCT_VERSION.STATUS";

    /**
     * Mapped Field PRODUCT_VERSION_TYPE
    */
    static final String ProductVersionType = "PRODUCT_VERSION.PRODUCT_VERSION_TYPE";

    /**
     * Mapped Field PARENT_VERSION_ID
    */
    static final String ParentVersionId = "PRODUCT_VERSION.PARENT_VERSION_ID";

    /**
     * Mapped Field START_DATE
    */
    static final String StartDate = "PRODUCT_VERSION.START_DATE";

    /**
     * Mapped Field END_DATE
    */
    static final String EndDate = "PRODUCT_VERSION.END_DATE";

    /**
     * Mapped Field ACTUAL_START_DATE
    */
    static final String ActualStartDate = "PRODUCT_VERSION.ACTUAL_START_DATE";

    /**
     * Mapped Field ACTUAL_END_DATE
    */
    static final String ActualEndDate = "PRODUCT_VERSION.ACTUAL_END_DATE";

    /**
     * Mapped Field SORT_INDEX
    */
    static final String SortIndex = "PRODUCT_VERSION.SORT_INDEX";

    /**
     * Mapped Attribute productName
    */
    static final String ProductName = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductDefineDAO.ProductName,
            com.ourteam.product.requirement.dao.IProductDefineDAO.EntityName +
            ".", "PRODUCT_DEFINE.");

    /**
     * Mapped Attribute productCdoe
    */
    static final String ProductCdoe = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductDefineDAO.ProductCode,
            com.ourteam.product.requirement.dao.IProductDefineDAO.EntityName +
            ".", "PRODUCT_DEFINE.");

    /**
     * Mapped Attribute productStatus
    */
    static final String ProductStatus = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductDefineDAO.Status,
            com.ourteam.product.requirement.dao.IProductDefineDAO.EntityName +
            ".", "PRODUCT_DEFINE.");

    /**
     * Mapped Attribute productRemarks
    */
    static final String ProductRemarks = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductDefineDAO.Remarks,
            com.ourteam.product.requirement.dao.IProductDefineDAO.EntityName +
            ".", "PRODUCT_DEFINE.");

    /**
     * Mapped Attribute parentProductVersion
    */
    static final String ParentProductVersion = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductVersionDAO.ProductVersion,
            com.ourteam.product.requirement.dao.IProductVersionDAO.EntityName +
            ".", "RELATED_X9KVSF_ProductVersion.");

    /**
     * Mapped Attribute parentProductVersionType
    */
    static final String ParentProductVersionType = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductVersionDAO.ProductVersionType,
            com.ourteam.product.requirement.dao.IProductVersionDAO.EntityName +
            ".", "RELATED_X9KVSF_ProductVersion.");

    /**
     * Mapped Attribute parentProductVersionStatus
    */
    static final String ParentProductVersionStatus = org.apache.commons.lang.StringUtils.replace(com.ourteam.product.requirement.dao.IProductVersionDAO.Status,
            com.ourteam.product.requirement.dao.IProductVersionDAO.EntityName +
            ".", "RELATED_X9KVSF_ProductVersion.");

    /**
     * Delete Data
     * @param final long id
     * @throws Exception
     */
    void delete(final long id) throws Exception;

    /**
         * Find Data By Primary Key
         * @param  final long id
         * @throws Exception
         */
    ProductVersion findById(final long id) throws Exception;

    static public interface DataProperty {
        /**
         * Attribute sortIndex
         */
        static final String SortIndex = "sortIndex";

        /**
         * Attribute productName
         */
        static final String ProductName = "productName";

        /**
         * Attribute productCdoe
         */
        static final String ProductCdoe = "productCdoe";

        /**
         * Attribute productStatus
         */
        static final String ProductStatus = "productStatus";

        /**
         * Attribute startDate
         */
        static final String StartDate = "startDate";

        /**
         * Attribute endDate
         */
        static final String EndDate = "endDate";

        /**
         * Attribute actualStartDate
         */
        static final String ActualStartDate = "actualStartDate";

        /**
         * Attribute actualEndDate
         */
        static final String ActualEndDate = "actualEndDate";

        /**
         * Attribute id
         */
        static final String Id = "id";

        /**
         * Attribute productDefineId
         */
        static final String ProductDefineId = "productDefineId";

        /**
         * Attribute productVersion
         */
        static final String ProductVersion = "productVersion";

        /**
         * Attribute remarks
         */
        static final String Remarks = "remarks";

        /**
         * Attribute status
         */
        static final String Status = "status";

        /**
         * Attribute productVersionType
         */
        static final String ProductVersionType = "productVersionType";

        /**
         * Attribute parentVersionId
         */
        static final String ParentVersionId = "parentVersionId";

        /**
         * Attribute productRemarks
         */
        static final String ProductRemarks = "productRemarks";

        /**
         * Attribute parentProductVersion
         */
        static final String ParentProductVersion = "parentProductVersion";

        /**
         * Attribute parentProductVersionType
         */
        static final String ParentProductVersionType = "parentProductVersionType";

        /**
         * Attribute parentProductVersionStatus
         */
        static final String ParentProductVersionStatus = "parentProductVersionStatus";
    }

    static public interface _DataObjectProperty extends DataProperty {
    }
}
